#ifndef __SOUNDFXDX_H__
#define __SOUNDFXDX_H__

#pragma once
#include "audio/ISoundEffect.h"
#include "Dsound.h"
#include <map>

namespace directx{

class SoundFXdx :
	public audio::ISoundEffect
{
public:
	SoundFXdx(void); // Don't USE !!!
	SoundFXdx(LPDIRECTSOUNDBUFFER8,LPDIRECTSOUND8,int);	
	~SoundFXdx(void);

	virtual void destroy();	
	virtual bool play();
	virtual bool stop();
	virtual bool setVolume(int);


private:
	LPDIRECTSOUNDBUFFER8 m_lpSB;
	LPDIRECTSOUND8 lpds;
	int numberOfVoices;
	std::map<int, LPDIRECTSOUNDBUFFER8> voices;
};

}

#endif // __SOUNDFXDX_H__